﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using Crosland.Automotriz.Logic.Linq;
using Crosland.Automotriz.Entidad;

namespace Crosland.Automotriz.Web.Vehiculos
{
    public partial class wFrmVentaExternaCotizacionesRealizadasActualizar : System.Web.UI.Page
    {
        string idNegocio = ConfigurationManager.AppSettings["Negocio"];
        const string script = "MostrarAlerta();";

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false) 
            {
                int anio;
                int mes;
                int dia;
                if (!string.IsNullOrEmpty(Request.QueryString["anio"]) && !string.IsNullOrEmpty(Request.QueryString["mes"]) && !string.IsNullOrEmpty(Request.QueryString["dia"]))
                {
                    anio = int.Parse(Request.QueryString["anio"]);
                    mes = int.Parse(Request.QueryString["mes"]);
                    dia = int.Parse(Request.QueryString["dia"]);

                    string fechaCadena = anio.ToString("0000") + "/" + mes.ToString("00") + "/" + dia.ToString("00");
                    DateTime fecha = DateTime.Parse(fechaCadena);
                    deFecha.Value = fecha;
                    deFecha.Enabled = false;
                    seCantidad.Focus();
                    //Verificar existencia de información.
                    TH_VENTA_EXTERNA_DATOS entidad = new TH_VENTA_EXTERNA_DATOS();
                    clsTH_Venta_Externa_DatosBL neg = new clsTH_Venta_Externa_DatosBL();
                    string idUsuario = Session["User"].ToString();
                    entidad = neg.Obtener(anio, mes, dia, idUsuario);
                    int CotizacionesRealizadas = 0;
                    if (entidad != null)
                    {
                        if (entidad.NRO_COTIZACIONES_REALIZADAS != null)
                        {
                            CotizacionesRealizadas = (int)entidad.NRO_COTIZACIONES_REALIZADAS;
                            seCantidad.Value = CotizacionesRealizadas;
                        }
                    }
                }
                else 
                {
                    deFecha.Value = DateTime.Now;
                    seCantidad.Focus();
                }
            }
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Vehiculos/wFrmVentaExternaCotizacionesRealizadas.aspx?id=" + idNegocio);
        }

        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            string idUsuario = Session["User"].ToString();
            int anio = 0;
            int mes = 0;
            int dia = 0;

            anio = DateTime.Parse(deFecha.Value.ToString()).Year;
            mes = DateTime.Parse(deFecha.Value.ToString()).Month;
            dia = DateTime.Parse(deFecha.Value.ToString()).Day;
            bool resultado = false;
            bool existe = false;

            //Verificar existencia de información.
            TH_VENTA_EXTERNA_DATOS entidad = new TH_VENTA_EXTERNA_DATOS();
            clsTH_Venta_Externa_DatosBL neg = new clsTH_Venta_Externa_DatosBL();
            entidad = neg.Obtener(anio, mes, dia, idUsuario);
            if (entidad != null)
            {
                existe = true;
            }
            else { existe = false; }

            if (existe == true)
            {
                //Actualizar
                int ID_VENTA_EXTERNA_DATOS = entidad.ID_VENTA_EXTERNA_DATOS;
                resultado = neg.ActualizarCotizacionesRealizadas(ID_VENTA_EXTERNA_DATOS, DateTime.Parse(deFecha.Value.ToString()), int.Parse(seCantidad.Value.ToString()));
                if (resultado == true)
                {
                    lblMensaje.Text = "Datos actualizados satisfactoriamente.";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
                }
                else
                {
                    lblMensaje.Text = "Ocurrió un error al momento de actualizar.";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
                }
            }
            else 
            {
                //Registrar
                int id = neg.UltimoID() + 1;
                DateTime fecha = DateTime.Parse(deFecha.Value.ToString());
                int Cantidad = int.Parse(seCantidad.Value.ToString());
                resultado = neg.InsertarCotizacionesRealizadas(id, fecha, Cantidad, idUsuario);
                if (resultado == true)
                {
                    lblMensaje.Text = "Datos registrados satisfactoriamente.";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
                }
                else
                {
                    lblMensaje.Text = "Ocurrió un error al momento de actualizar.";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "x", script, true);
                }
            }
        }
    }
}